home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1992 June: ROMin Holiday / ADC Developer CD (1992-06) (''ROMin Holiday'')_iso / Developer Connection - 06-1992.iso / Development Platforms / Apple II / Essentials / MPW IIGS Interfaces / CIIGSIncludes / Print.h < prev    next >
Encoding:
C/C++ Source or Header  |  1990-04-03  |  6.7 KB  |  173 lines  |  [TEXT/MPS ]

  1. /********************************************
  2. ; File: Print.h
  3. ;
  4. ;
  5. ; Copyright Apple Computer, Inc.1986-90
  6. ; All Rights Reserved
  7. ;
  8. ********************************************/
  9. #ifndef __TYPES__
  10. #include <TYPES.h>
  11. #endif
  12.  
  13. #ifndef __QUICKDRAW__
  14. #include <QUICKDRAW.h>
  15. #endif
  16.  
  17. #ifndef __EVENT__
  18. #include <EVENT.h>
  19. #endif
  20.  
  21. #ifndef __CONTROL__
  22. #include <CONTROL.h>
  23. #endif
  24.  
  25. #ifndef __WINDOW__
  26. #include <WINDOW.h>
  27. #endif
  28.  
  29. #ifndef __LINEEDIT__
  30. #include <LINEEDIT.h>
  31. #endif
  32.  
  33. #ifndef __DIALOG__
  34. #include <DIALOG.h>
  35. #endif
  36.  
  37. #ifndef __PRINT__
  38. #define __PRINT__
  39.  
  40.  
  41. /* Error Codes */
  42. #define pntrConFailed 0x1308  /* connection to the printer failed */
  43. #define memFullErr 0xFF80
  44. #define ioAbort 0xFFE5
  45. #define prAbort 0x0080
  46. #define missingDriver 0x1301  /* specified driver not in system/drivers */
  47. #define portNotOn 0x1302  /* specified port not selected in ctl panel */
  48. #define noPrintRecord 0x1303  /* no print record was given */
  49. #define badLaserPrep 0x1304  /* laser prep in laser writer incompatible */
  50. #define badLPFile 0x1305  /* laser prep in system/drivers incompatible */
  51. #define papConnNotOpen 0x1306  /* cannot connect to laser writer */
  52. #define papReadWriteErr 0x1307  /* apple talk PAPRead or PAPWrite error */
  53. #define ptrConnFailed 0x1308  /* cannot establish connection with imagewriter */
  54. #define badLoadParam 0x1309  /* parameter for load/unload is invalid */
  55. #define callNotSupported 0x130A  /* toolcall made is not supported by this version */
  56. #define startUpAlreadyMade 0x1321  /* low level startup already made */
  57. #define invalidCtlVal 0x1322  /* invalid control value had been spec'd */
  58.  
  59. /* whichDriver Codes */
  60. #define bothDrivers 0x0  /* input to PMLoadDriver and PMUnloadDriver */
  61. #define printerDriver 0x0001  /* input to PMLoadDriver and PMUnloadDriver */
  62. #define portDriver 0x0002  /* input to PMLoadDriver and PMUnloadDriver */
  63.  
  64. /* Other Constants */
  65. #define prPortrait 0x0000
  66. #define prLandscape 0x0001
  67. #define prImageWriter 0x0001
  68. #define prImageWriterLQ 0x0002
  69. #define prLaserWriter 0x0003
  70. #define prEpson 0x0004
  71. #define prBlackWhite 0x0001
  72. #define prColor 0x0002
  73. #define bDraftLoop 0x0000
  74. #define bSpoolLoop 0x0080
  75. struct PrPrinterSpecRec {
  76.    Word prPrinterType; /*   */
  77.    Word prCharacteristics; /*   */
  78. } ;
  79. typedef struct PrPrinterSpecRec PrPrinterSpecRec;
  80. struct PrInfoRec {
  81.    Word iDev; /* reserved for internal use */
  82.    Word iVRes; /* vertical resolution of printer */
  83.    Word iHRes; /* horizontal resolution of printer */
  84.    Rect rPage; /* defining page rectangle */
  85. } ;
  86. typedef struct PrInfoRec PrInfoRec, *PrInfoRecPtr, **PrInfoRecHndl;
  87. struct PrJobRec {
  88.    Word iFstPage; /* first page to print */
  89.    Word iLstPage; /* last page to print */
  90.    Word iCopies; /* number of copies */
  91.    Byte bJDocLoop; /* printing method */
  92.    Byte fFromUser; /* used internally */
  93.    WordProcPtr pIdleProc; /* background procedure */
  94.    Pointer pFileName; /* spool file name */
  95.    Word iFileVol; /* spool file volume reference number */
  96.    Byte bFileVers; /* spool file version number */
  97.    Byte bJobX; /* used internally */
  98. } ;
  99. typedef struct PrJobRec PrJobRec, *PrJobRecPtr;
  100. struct PrStyleRec {
  101.    Word wDev; /* output quality information */
  102.    Word internA[3]; /* for internal use */
  103.    Word feed; /* paper feed type */
  104.    Word paperType; /* paper type */
  105.    Word crWidth; /* carriage Width for image writer or vertical sizing for lazer writer */
  106.    Word reduction; /* % reduction, laser writer only */
  107.    Word internB; /* for internal use */
  108. } ;
  109. typedef struct PrStyleRec PrStyleRec, *PrStyleRecPtr, **PrStyleRecHndl;
  110. #define vSizing crWidth /* PrStyleRec - alternate field name   */
  111.  
  112.  
  113. struct PrRec {
  114.    Word prVersion; /* print manager version */
  115.    PrInfoRec prInfo; /* printer infomation subrecord */
  116.    Rect rPaper; /* Defining paper rectangle */
  117.    PrStyleRec prStl; /* style subrecord */
  118.    Byte prInfoPT[14]; /* reserved for internal use */
  119.    Byte prXInfo[24]; /* reserved for internal use */
  120.    PrJobRec prJob; /* job subrecord */
  121.    Byte printX[38]; /* reserved for future use */
  122.    Word iReserved; /* reserved for internal use */
  123. } ;
  124. typedef struct PrRec PrRec, *PrRecPtr, **PrRecHndl;
  125. struct PrStatusRec {
  126.    Word iTotPages; /* number of pages in spool file */
  127.    Word iCurPage; /* page being printed */
  128.    Word iTotCopies; /* number of copies requested */
  129.    Word iCurCopy; /* copy being printed */
  130.    Word iTotBands; /* reserved for internal use */
  131.    Word iCurBand; /* reserved for internal use */
  132.    Boolean fPgDirty; /* TRUE if started printing page */
  133.    Word fImaging; /* reserved for internal use */
  134.    PrRecHndl hPrint; /* handle of print record */
  135.    GrafPortPtr pPrPort; /* pointer to grafport being use for printing */
  136.    LongWord hPic; /* reserved for internal use */
  137. } ;
  138. typedef struct PrStatusRec PrStatusRec, *PrStatusRecPtr, **PrStatusRecHndl;
  139. extern pascal void PMBootInit() inline(0x0113,dispatcher);
  140. extern pascal void PMLoadDriver() inline(0x3513,dispatcher);
  141. extern pascal void PMReset() inline(0x0513,dispatcher);
  142. extern pascal void PMShutDown() inline(0x0313,dispatcher);
  143. extern pascal void PMStartUp() inline(0x0213,dispatcher);
  144. extern pascal Boolean PMStatus() inline(0x0613,dispatcher);
  145. extern pascal void PMUnloadDriver() inline(0x3413,dispatcher);
  146. extern pascal Word PMVersion() inline(0x0413,dispatcher);
  147. extern pascal Boolean PrChoosePrinter() inline(0x1613,dispatcher);
  148. extern pascal Boolean PrChooser() inline(0x1613,dispatcher);
  149. extern pascal void PrCloseDoc() inline(0x0F13,dispatcher);
  150. extern pascal void PrClosePage() inline(0x1113,dispatcher);
  151. extern pascal void PrDefault() inline(0x0913,dispatcher);
  152. extern pascal Word PrDriverVer() inline(0x2313,dispatcher);
  153. extern pascal Word PrError() inline(0x1413,dispatcher);
  154. extern pascal StringPtr PrGetDocName() inline(0x3613,dispatcher);
  155. extern pascal StringPtr PrGetNetworkName() inline(0x2B13,dispatcher);
  156. extern pascal Word PrGetPgOrientation() inline(0x3813,dispatcher);
  157. extern pascal StringPtr PrGetPortDvrName() inline(0x2913,dispatcher);
  158. extern pascal StringPtr PrGetPrinterDvrName() inline(0x2813,dispatcher);
  159. extern pascal long PrGetPrinterSpecs () inline(0x1813,dispatcher);
  160. extern pascal StringPtr PrGetUserName() inline(0x2A13,dispatcher);
  161. extern pascal StringPtr PrGetZoneName() inline(0x2513,dispatcher);
  162. extern pascal Boolean PrJobDialog() inline(0x0C13,dispatcher);
  163. extern pascal GrafPortPtr PrOpenDoc() inline(0x0E13,dispatcher);
  164. extern pascal void PrOpenPage() inline(0x1013,dispatcher);
  165. extern pascal void PrPicFile() inline(0x1213,dispatcher);
  166. extern pascal void PrPixelMap() inline(0x0D13,dispatcher);
  167. extern pascal Word PrPortVer() inline(0x2413,dispatcher);
  168. extern pascal void PrSetDocName() inline(0x3713,dispatcher);
  169. extern pascal void PrSetError() inline(0x1513,dispatcher);
  170. extern pascal Boolean PrStlDialog() inline(0x0B13,dispatcher);
  171. extern pascal Boolean PrValidate() inline(0x0A13,dispatcher);
  172. #endif
  173.